package com.cskaoyan.javase.oop1._13block._1building._1notice;

/**
 * 1.建议应该将构造代码块，放在成员变量的声明和显式赋值语句的下面：
 *      一方面，如果构造代码块赋值在上，成员变量声明在下，逻辑上会很奇怪。
 *      另一方面，如果对象中成员变量的赋值，依赖于构造代码块和显式赋值的代码书写顺序，容易引发错误。
 *      当然如果你是为了出题，本身就存在为难的意味，不在此限制内。正常写代码不这么做即可！
 *
 * 2. 因为构造代码块最终会加入构造器，所以构造代码块当中也可以使用this关键字，指向当前对象。
 *
 * @since 17:36
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}

class A {

    int num = 100;
    {
        // 实际上这里就可以看成是一个成员方法的方法体,存在this隐式传参
        num = 200;
    }
}